Storage devices, and specifically rotating media, such as Hard Disk Drives (HDD) and Solid-State Hybrid Drives (SSHD), have a finite lifetime and contain moving parts that wear out over time. A storage device can be put into a low-power state, in which case the moving parts are typically stopped or placed in a standby position. When the storage device is powered back up from the low-power state, such as when an input-output request is initiated, the moving parts are positioned back to active states. The movement of the storage device parts between the low-power and active states wears on the parts, and after a large number of power transition cycles (referred to as a load-unload cycle), the moving parts can fail. Generally, a load-unload cycle describes the movement of a read-write head assembly from its standby position over the rotating platter in a storage device, to an active state when initiated for an input-output request, and back into the standby position. Further, a power cycle of a computing device that includes a storage device with a rotating media causes a load-unload cycle of the storage device. Most of the storage devices have a limited number of load-unload cycles that they can withstand until the moving parts are damaged or worn, which is a data integrity risk and can lead to overall data loss.
Typically, an operating system of a computing device that includes a storage device with rotating media can employ a static timeout, which is a simple mechanism to power-down the storage device when it becomes idle. The static timer is reset and begins counting each time that an input-output request is issued, and when the static timer reaches a pre-defined time threshold, the operating system actively spins-down the rotating platter in the storage device to its standby position. This technique can be used to conserve power, such as battery power in a mobile computing device that includes a storage device with a rotating media. However, the frequent load-unload cycles of the storage device initiated by the host computing device system can excessively wear the storage device, which may then fail earlier than the device manufacturer advertises or guarantees for the device.
Similarly, a storage device itself may be implemented with a firmware tinier and logic that determines how long the device has operated without receiving an input-output request. If the time threshold is exceeded, the speed of the rotating platter of the storage device may be reduced, or halted completely. However, firmware timers are generally designed to maintain device functionality and longevity, which may be at the expense of power savings in a mobile computing device that relies on battery power for operation.